On 10/27/2015 7:23 PM, TK
tk@... [DynoMotion] wrote:
Hi Sam,
Not sure exactly what you mean by "resetting"?
Normally the Axes are only Enabled after homing so all
that matters is consistency. Consider maintaining a
position offset to leave the machine coordinates
forever unchanged to avoid any issue.
But when enabling an axis the Axis Variables
"Backlash" and "BacklashDirection" direction are set
to zero. "Backlash" is the amount of currently
applied backlash correction and is basically zero if
the last direction was negative or the BacklashAmount
if the last direction was positive. BacklashDirection
is either -1 (direction of motion negative), 0
(direction of motion unknown), +1 (direction of motion
positive).
I suppose if you did a small negative move before
disable/enable it would keep the backlash unchanged.
Or save/restore the BacklashDirection and Backlash
(These variables are not currently exposed to script
commands or KMotion or .NET libraries so C Code would
e required).
Might be a poor choice of words on my part. Perhaps the
correct term would have been "zeroed". I'll describe what
I'm seeing....
I've moved (through UI and code) the Y-axis in a negative,
then positive direction. At this point I want to set my DRO
to be "0.0" (this is what I previously called 'resetting'
the axis.
I then move the Y-Axis in the negative direction. But when I
perform a "goto 0.0" (where I had previously zero-ed the
axis) the axis actually moves to zero + the current backlash
amount.
The method I am using to zero my axis is Axis.ZeroAxis(). I
seem to recall somewhere that this disables the axis, sets
the current position to zero, then re-enables the axis...?
Perhaps this is where the backlash direction is being
'forgotten'.
I've duplicated the same effect by setting the axis manually
to 0.0 with
Axis.Disable()
Axis.SetCurrentPosition(Counts)
Axis.SetCommandedDest(Counts)
.Enable
...and again, the backlash direction is ignored, pointing to
what you suspected when the Axis is enabled again.
Since C isn't an option for this app and there is no way to
access the BacklashDirection (via dotnet) is there another
way to tell what direction an axis was last moved? Obviously
I could try to track it manually but is there something
already present in an Axis besides BacklashDirection that is
available to dotnet? Perhaps then I could do a "micro-move"
in the opposite direction as you suggest.
Or, perhaps, is there a better manner of setting an Axis to
a number without having to disable/enable it?
I'd like to formally request the addition of read/writ
properties for BacklashDirection and Backlash to the .Net
libraries, regardless.
sam marrocco | chief technical officer
ringside.cutters.flavor.picnic.moonlink
248 548 2500 w
248 910 3344 c
ringsidecreative.com